package dao;

import dal.Conexion;
import dto.Detalleventa;
import java.util.Vector;
import java.sql.ResultSet;

public class DetalleventaDaoPostgreSQL extends DetalleventaDao {

	@Override
	public void update() throws Exception {
		Conexion objConexion = Conexion.getOrCreate();

//		if(objDto.getIidproducto() > 0){
//			StringBuffer query = new StringBuffer("UPDATE detalleventa SET ");
//			query.append("iidventa = '" + objDto.getIidventa() + "',");
//			query.append("precio = '" + objDto.getPrecio() + "',");
//			query.append("cantidad = '" + objDto.getCantidad() + "' ");
//			query.append("WHERE iidproducto = '" + objDto.getIidproducto() + "' ");
//                        query.append(" AND iidventa = '" + objDto.getIidventa() + "' ");
//			int upd = objConexion.ejecutarSimple(query.toString());
//			if(upd == 0)
//				throw new Exception("El registro no pudo ser actualizado");
//		}

                StringBuffer query = new StringBuffer("INSERT INTO detalleventa VALUES (");
                query.append("'" + objDto.getIidproducto() + "'," );
                query.append("'" + objDto.getIidventa() + "'," );
                query.append("'" + objDto.getPrecio() + "'," );
                query.append("'" + objDto.getCantidad() + "' " );
                query.append(")");
                System.out.println(query);
                objConexion.ejecutarSimple(query.toString());

                objConexion.desconectar();
	}
	@Override
	public void delete(){
		Conexion objConexion = Conexion.getOrCreate();
		StringBuffer query = new StringBuffer("DELETE FROM detalleventa ");
		query.append("WHERE iidproducto = " + objDto.getIidproducto());
		objConexion.ejecutarSimple(query.toString());
		objConexion.desconectar();
	}

	@Override
	public Detalleventa select(int id){
		try{
			Conexion objConexion = Conexion.getOrCreate();
			String query = "SELECT * FROM detalleventa WHERE iidproducto = " + id;
			ResultSet objResultSet = objConexion.ejecutar(query);
			if(objResultSet.next()){
				Detalleventa obj = new Detalleventa();
				int _iidproducto = objResultSet.getInt("iidproducto");
				obj.setIidproducto(_iidproducto);
				
				int _iidventa = objResultSet.getInt("iidventa");
				obj.setIidventa(_iidventa);
				
				double _precio = objResultSet.getDouble("precio");
				obj.setPrecio(_precio);
				
				int _cantidad = objResultSet.getInt("cantidad");
				obj.setCantidad(_cantidad);
				
				return obj;
			}
		}catch(Exception ex){
			;
		}
		return null;
	}

	@Override
	public Vector<Detalleventa> selectTodos(){
		Vector<Detalleventa>  registros = new Vector<Detalleventa>();
		try{
			Conexion objConexion = Conexion.getOrCreate();
			String query = "SELECT * FROM detalleventa ";
			ResultSet objResultSet = objConexion.ejecutar(query);
			while(objResultSet.next()){
				Detalleventa obj = new Detalleventa();
				int _iidproducto = objResultSet.getInt("iidproducto");
				obj.setIidproducto(_iidproducto);
				
				int _iidventa = objResultSet.getInt("iidventa");
				obj.setIidventa(_iidventa);
				
				double _precio = objResultSet.getDouble("precio");
				obj.setPrecio(_precio);
				
				int _cantidad = objResultSet.getInt("cantidad");
				obj.setCantidad(_cantidad);
				
				registros.addElement(obj);
			}
		}catch(Exception ex){
			;
		}
		return registros;
	}

}

